<?php  
class BrandModel extends Model{
	public $table='brand';
	public $validate=array(
		array('brand_name','nonull','品牌名称不能为空',2,3)
	);
	/**
	 * 自动处理上传图片
	 * @var array
	 */
	public $auto=array(
			array('brand_logo','_autoLogo','method',2,3)
		);
	/**
	 * 上传图片字段自动处理
	 * @param  [type] $v [description]
	 * @return [type]    [description]
	 */
	public function _autoLogo($v){
		if (empty($v))return $v;
		$v=current($v);
		return $v['path'];
	}
	//添加品牌
	public function addBrand(){
		if ($this->create()) {
			if ($this->add()) {
				if ($this->updateCache()) {
					return true;
				}
			}
			$this->error="添加失败";
		}
	}
	// 编辑品牌
	public function editBrand(){
		if ($this->create()) {
			if ($this->save()) {
				if ($this->updateCache()) {
					return true;
				}
			}
			$this->error="编辑失败";
		}
	}
	//删除品牌及其图片
	public function delBrand(){
		$id=Q('brand_id');
		$data=$this->where('brand_id='.$id)->find();
		$status=is_file($data['brand_logo']) and unlink($data['brand_logo']);
		if ($this->del($id) && $status) {
			if ($this->updateCache()) {
				return true;
			}
		}
		$this->error="删除失败";
	}
	//更新缓存
	public function updateCache(){
		$data=$this->all();
		foreach ($data as $d) {
			$cache[$d['brand_id']]=$d;
		}
		return S('brand',$cache);
	}
	//异步更改品牌排序
	public function updateOrder(){
		if ($this->save()) {
			if ($this->updateCache()) {
				return true;
			}
		}
		return false;
	}
}
?>